Ext.define('TongBaoView', {
	extend : 'Ext.panel.Panel',
	id : 'TongBaoView',
	title : '通知公告管理',
	region : 'center',
	layout : 'border',

	initComponent : function() {
		this.searchPanel = new KE.SearchPanel({
					region : 'north',
					items : [{
								text : '公告标题'
							}, {
								name : 'Q_LIKES_subject',
								xtype : 'textfield',
								width : 120
							}, {
								text : '发布人'
							}, {
								name : 'Q_LIKES_issuer',
								xtype : 'textfield',
								width : 120
							}, {
								text : '创建时间'
							}, {
								name : 'Q_GED_createtime',
								xtype : 'datefield',
								format : 'Y-m-d',
								width : 100
							}, {
								text : '~'
							}, {
								name : 'Q_LED_createtime',
								xtype : 'datefield',
								format : 'Y-m-d',
								width : 100
							}, {
								xtype : 'button',
								text : '查询',
								scope : this,
								iconCls : 'btn-search',
								handler : this.search
							}, {
								xtype : 'button',
								text : '清空',
								scope : this,
								iconCls : 'reset',
								handler : this.reset
							}]
				});

		this.topbar = new Ext.Toolbar({
					items : [{
								iconCls : 'btn-add',
								text : '添加通报',
								xtype : 'button',
								scope : this,
								handler : this.createRs
							}, {
								iconCls : 'btn-del',
								text : '删除',
								xtype : 'button',
								scope : this,
								handler : this.removeSelRs
							}]
				});

		this.gridPanel = new KE.GridPanel({
			region : 'center',
			tbar : this.topbar,
			id : 'TongBaoGrid',
			url : __ctxPath + "/comm/listTongBao.do",
			fields : ['oid', 'title', 'ctime', 'expTime', 'content', 'status',
					'sn', 'recDepNames', 'downDeptShow', 'upDeptShow', {
						name: 'dept.depName',
						mapping: 'dept.depName'
					}],
			columns : [{
						header : 'ID',
						dataIndex : 'oid',
						hidden : true
					}, {
						header : '标题',
						dataIndex : 'title',
						flex: 2
					}, {
						header : '发布时间',
						dataIndex : 'ctime'
					}, {
						header : '失效时间',
						dataIndex : 'expTime'
					}, {
						header : '发布单位',
						dataIndex : 'dept.depName'
					}, {
						header : '状态',
						dataIndex : 'status',
						renderer : function(v) {
							if (v != null && v == 0) {
								return '<font color="red">禁用</font>';
							} else if (v == 1) {
								return '<font color="green">激活</font>';
							}
						}
					}, {
						header : '接收单位',
						dataIndex : 'recDepNames'
					}, {
						header : '接收范围',
						dataIndex : 'downDeptShow',
						renderer: function(v, g, rec) {
							var arr = [];
							if(rec.data.upDeptShow==1) {
								arr.push('包含上级单位');
							}
							if(v==1) {
								arr.push('包含下级单位');
							}
							return arr.join('，');
						}
					}, {
						text : '管理',
						xtype : 'actioncolumn',
						width : 100,
						items : [{
									iconCls : 'btn-del',
									tooltip : '删除',
									scope : this,
									handler : function(grid, rowIndex, colIndex) {
										var rec = grid.getStore()
												.getAt(rowIndex);
										this.removeRs(rec.data.oid);
									}
								}, {
									iconCls : 'btn-edit',
									tooltip : '编辑',
									scope : this,
									handler : function(grid, rowIndex, colIndex) {
										var rec = grid.getStore()
												.getAt(rowIndex);
										this.editRs(rec);
									}
								}]
					}]
		});

		this.items = [this.searchPanel, this.gridPanel];
		this.callParent();
		this.gridPanel.on('rowdblclick', this.rowClick);
	},
	// 重置查询表单
	reset : function() {
		this.searchPanel.getForm().reset();
		Ext.each(this.searchPanel.query('combo'), function(c) {
					c.setValue('');
				});
	},
	// 按条件搜索
	search : function() {
		$search({
					searchPanel : this.searchPanel,
					gridPanel : this.gridPanel
				});
	},
	// GridPanel行点击处理事件
	rowClick : function(grid, rec) {
		new TongBaoForm({
			sid: rec.data.oid
		}).show();
	},
	// 按ID删除记录
	removeRs : function(id) {
		$postDel({
					url : __ctxPath + '/comm/multiDelTongBao.do',
					ids : id,
					grid : this.gridPanel
				});
	},
	// 把选中ID删除
	removeSelRs : function() {
		$delGridRs({
					url : __ctxPath + '/comm/multiDelTongBao.do',
					grid : this.gridPanel,
					idName : 'oid'
				});
	},
	// 编辑Rs
	editRs : function(record) {
		new TongBaoForm({
					sid : record.data.oid
				}).show();
	},
	// 创建记录
	createRs : function() {
		new TongBaoForm().show();
	}
});
